$(function () {
    var menu_datagrid = $("#menu_datagrid");
    var menu_dialog = $("#menu_dialog");

    //菜单列表初始化
    menu_datagrid.datagrid({
        fit: true,
        url: "/systemMenu/list",
        fitColumns: true,
        pagination: true,
        rownumbers: true,
        striped: true,
        toolbar: "#tb",
        singleSelect: true,
        columns: [[
            {field: "ck", checkbox: true},  //显示多选框样式
            {field: "id", title: "编号", hidden: true},
            {field: "text", title: "菜单名字", width: 100},
            {field: "url", title: "URL", width: 100},
            {
                field: "parent", title: "父菜单", width: 100, formatter: function (value, row, index) {
                if (value != null) {
                    return value.text;
                } else {
                    return ""
                }
            }
            },
            {
                field: "permission", title: "绑定权限", width: 100, formatter: function (value, row, index) {
                if (value != null) {
                    return value.resource;
                } else {
                    return "";
                }
            }
            }
        ]]
    });
    //菜单列表初始化-end

    //编辑或更新对话框
    menu_dialog.dialog({
        width: 400,
        height: 500,
        buttons: "#bb",
        closed: true
    });
    //end

    //响应函数集合对象
    var cmdObj = {
        //工具栏的刷新
        reload: function () {
            menu_datagrid.datagrid("load");
        },
        //工具栏的编辑
        edit: function () {
            //判断是否选中数据
            var row = menu_datagrid.datagrid("getSelected");
            if (!row) {
                $.messager.alert('温馨提示', "请选择要编辑的数据");
                return;
            }
            //添加与编辑时将数据清空
            $("#menu_form").form("clear");
            //数据显: 同名原则
            $("#menu_form").form("load", row);
            //1:弹框
            menu_dialog.dialog("open");
            //2:设置标题
            menu_dialog.dialog("setTitle", "菜单编辑");

            //角色组件name有点特殊无法使用同名原则自动赋值,需要手动赋值
            /*$.get("/systemMenu/queryParentMenu", function(data){
             $("#rolesId").combobox("setValues", data);
             })*/

        },
        //工具栏添加
        add: function () {
            //添加与编辑时将数据清空
            $("#menu_form").form("clear");
            //1:弹框
            menu_dialog.dialog("open");
            //2:设置标题
            menu_dialog.dialog("setTitle", "菜单添加");

        },
        //保存操作
        save: function () {
            var id = $("#menuId").val();
            var url = "/systemMenu/save";
            if (id) {
                url = "/systemMenu/update";
            }
            $("#menu_form").form('submit', {
                url: url,
                success: function (data) {
                    data = $.parseJSON(data);

                    if (!data.success) {
                        $.messager.alert('温馨提示', data.msg);

                    } else {
                        //关闭框
                        menu_dialog.dialog("close");
                        //刷新列表数据
                        menu_datagrid.datagrid("load");
                    }
                }
            })
        },
        //工具栏删除菜单
        remove: function () {
            //判断是否选中数据
            var row = menu_datagrid.datagrid("getSelected");
            if (!row) {
                $.messager.alert('温馨提示', "请选择要编辑的数据");
                return;
            }

            $.messager.confirm('确认', '您确认想要执行这个操作？', function (r) {
                if (r) {
                    //1:发起请求修改状态
                    $.get("/systemMenu/delete?id=" + row.id, function (data) {

                        if (data.success) {
                            //2:刷新列表数据
                            menu_datagrid.datagrid("load");
                        } else {
                            $.messager.alert('温馨提示', data.msg);
                        }
                    });
                }
            });
        },
        cancel: function () {
            menu_dialog.dialog("close");
        }
    };
    //end
    //调用
    $("a[data-cmd]").click(function () {
        var cmd = $(this).data("cmd");
        cmdObj[cmd]();
    })
});


